package com.study.spmongodb.book.wwj.char14;

/**
 * @author study
 * @version 1.0
 * @date 2020/11/27 10:24
 */

public final class Singleton6 {
    //实例变量
    private byte[] data = new byte[1024];
    //定义实例，但是不能直接初始化
    private volatile static Singleton6 instance = null;

    private Singleton6() {
    }

    //在静态内部类中持有Singleton6的实例，并且可被直接初始化
    private static class Holder {
        private static Singleton6 instance = new Singleton6();
    }

    // 向getInstacne方法加入同步控制，每次只能有一个线程进入
    public static Singleton6 getInstance() {
        return Holder.instance;
    }
}
